package com.css.zfzx.sjcj.modules.hddcStratigraphy1Pre.service;

import com.alibaba.fastjson.JSONObject;
import com.css.zfzx.sjcj.common.spacedata.vo.SpaceDataParamsVo;
import com.css.zfzx.sjcj.modules.hddcStratigraphy1Pre.repository.entity.HddcStratigraphy1preEntity;
import com.css.zfzx.sjcj.modules.hddcStratigraphy1Pre.viewobjects.HddcStratigraphy1preQueryParams;
import com.css.bpm.platform.sys.dict.repository.entity.DictItemEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author zyb
 * @date 2020-11-28
 */

public interface HddcStratigraphy1preService {

    public JSONObject queryHddcStratigraphy1pres(HddcStratigraphy1preQueryParams queryParams, int curPage, int pageSize,String sort,String order);

    public HddcStratigraphy1preEntity getHddcStratigraphy1pre(String id);

    public HddcStratigraphy1preEntity saveHddcStratigraphy1pre(HddcStratigraphy1preEntity hddcStratigraphy1pre);
    Iterable<HddcStratigraphy1preEntity> saveHddcStratigraphy1preList(List<HddcStratigraphy1preEntity> list);
    public HddcStratigraphy1preEntity updateHddcStratigraphy1pre(HddcStratigraphy1preEntity hddcStratigraphy1pre);

    public void deleteHddcStratigraphy1pres(List<String> ids);

    List<DictItemEntity> getValidDictItemsByDictCode(String dictCode);

    String findByDictCodeAndDictItemCode(String dictCode, String dictItemCode);

    void exportFile(HddcStratigraphy1preQueryParams queryParams, HttpServletResponse response);

    String exportExcel(MultipartFile file, HttpServletResponse response);
    /**
     * 逻辑删除-根据项目id删除数据
     * @param ids
     */
    void deleteByProjectId(List<String> ids);

    /**
     * 逻辑删除-根据任务id删除数据
     * @param ids
     */
    void deleteByTaskId(List<String> ids);

    String judegeParams(String[] datas);

    void saveStratigraphy1preServiceFromShpFiles(List<List<Object>> list, String provinceName, String cityName, String areaName,String savefilename);

    List<HddcStratigraphy1preEntity> findAll();

    void deleteFileData(SpaceDataParamsVo paramsVo);
}
